From 591f6bd7a97d179fefd255456f5dc90d417a0c06 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Tue, 24 Mar 2020 12:45:12 -0400 Subject: [PATCH] popovermenu: Show mnemonics on keynav This is the expected behavior for menus. --- gtk/gtkpopovermenu.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/gtk/gtkpopovermenu.c b/gtk/gtkpopovermenu.c index 23375dd0c1..39c159ad45 100644 --- a/gtk/gtkpopovermenu.c +++ b/gtk/gtkpopovermenu.c @@ -230,6 +230,8 @@ gtk_popover_menu_init (GtkPopoverMenu *popover) gtk_shortcut_controller_set_mnemonics_modifiers (GTK_SHORTCUT_CONTROLLER (controller), 0); } g_list_free (controllers); + + gtk_popover_disable_auto_mnemonics (GTK_POPOVER (popover)); } static void @@ -415,6 +417,15 @@ gtk_popover_menu_show (GtkWidget *widget) GTK_WIDGET_CLASS (gtk_popover_menu_parent_class)->show (widget); } +static void +gtk_popover_menu_move_focus (GtkWidget *widget, + GtkDirectionType direction) +{ + gtk_popover_set_mnemonics_visible (GTK_POPOVER (widget), TRUE); + + GTK_WIDGET_CLASS (gtk_popover_menu_parent_class)->move_focus (widget, direction); +} + static void gtk_popover_menu_class_init (GtkPopoverMenuClass *klass) { @@ -429,6 +440,7 @@ gtk_popover_menu_class_init (GtkPopoverMenuClass *klass) widget_class->unmap = gtk_popover_menu_unmap; widget_class->focus = gtk_popover_menu_focus; widget_class->show = gtk_popover_menu_show; + widget_class->move_focus = gtk_popover_menu_move_focus; g_object_class_install_property (object_class, PROP_VISIBLE_SUBMENU, -- 2.30.2